home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / oper_sys / emerald / emrldsys.lha / Language / Compiler / trace.h < prev    next >
C/C++ Source or Header  |  1990-08-16  |  3KB  |  91 lines

  1. /*
  2.  * @(#)trace.h    1.7  1/20/89
  3.  */
  4. #ifndef trace_h
  5. #define trace_h
  6.  
  7. extern int     traceenvironment,
  8.         traceemit,
  9.         traceemitmove,
  10.         traceallocate,
  11.         tracehelp,
  12.         traceimports,
  13.         traceatctsort,
  14.         traceassign,
  15.         tracetempstack,
  16.         tracetempreg,
  17.         tracepasses,
  18.         tracekernel,
  19.         tracemanifest,
  20.         traceconform,
  21.         traceconformfailure,
  22.         tracehandler,
  23.         tracegraph,
  24.         tracematchat,
  25.         tracedoto,
  26.         tracebuiltins,
  27.         tracelocals,
  28.         traceknowct,
  29.         traceknowmanifest,
  30.         traceknowlocal,
  31.         tracegenerate,
  32.         traceinvoccache,
  33.         tracedelay,
  34.         tracecopy,
  35.         traceprimitive,
  36.         tracelinenumber,
  37.         tracetypecheck,
  38.         tracedebuginfo;
  39.  
  40. extern void trace();
  41.  
  42. #ifdef lint
  43. #   define IFTRACE(t, level) \
  44.     if (level)
  45. #   define TRACE0(t, level, format) \
  46.     if (level) trace(level, format)
  47. #   define TRACE1(t, level, format, arg1) \
  48.     if (level) trace(level, format, arg1)
  49. #   define TRACE2(t, level, format, arg1, arg2) \
  50.     if (level) trace(level, format, arg1, arg2)
  51. #   define TRACE3(t, level, format, arg1, arg2, arg3) \
  52.     if (level) trace(level, format, arg1, arg2, arg3)
  53. #   define TRACE4(t, level, format, arg1, arg2, arg3, arg4) \
  54.     if (level) trace(level, format, arg1, arg2, arg3, arg4)
  55. #   define TRACE5(t, level, format, arg1, arg2, arg3, arg4, arg5) \
  56.     if (level) trace(level, format, arg1, arg2, arg3, arg4, arg5)
  57. #else
  58. #if defined(__ANSI__) || defined(__GNUC__)
  59. #   define IFTRACE(t, level) \
  60.     if (trace##t >= level)
  61. #   define TRACE0(t, level, format) \
  62.     if (trace##t >= level) trace(level, format)
  63. #   define TRACE1(t, level, format, arg1) \
  64.     if (trace##t >= level) trace(level, format, arg1)
  65. #   define TRACE2(t, level, format, arg1, arg2) \
  66.     if (trace##t >= level) trace(level, format, arg1, arg2)
  67. #   define TRACE3(t, level, format, arg1, arg2, arg3) \
  68.     if (trace##t >= level) trace(level, format, arg1, arg2, arg3)
  69. #   define TRACE4(t, level, format, arg1, arg2, arg3, arg4) \
  70.     if (trace##t >= level) trace(level, format, arg1, arg2, arg3, arg4)
  71. #   define TRACE5(t, level, format, arg1, arg2, arg3, arg4, arg5) \
  72.     if (trace##t >= level) trace(level, format, arg1, arg2, arg3, arg4, arg5)
  73. #else
  74. #   define IFTRACE(t, level) \
  75.     if (trace/**/t >= level)
  76. #   define TRACE0(t, level, format) \
  77.     if (trace/**/t >= level) trace(level, format)
  78. #   define TRACE1(t, level, format, arg1) \
  79.     if (trace/**/t >= level) trace(level, format, arg1)
  80. #   define TRACE2(t, level, format, arg1, arg2) \
  81.     if (trace/**/t >= level) trace(level, format, arg1, arg2)
  82. #   define TRACE3(t, level, format, arg1, arg2, arg3) \
  83.     if (trace/**/t >= level) trace(level, format, arg1, arg2, arg3)
  84. #   define TRACE4(t, level, format, arg1, arg2, arg3, arg4) \
  85.     if (trace/**/t >= level) trace(level, format, arg1, arg2, arg3, arg4)
  86. #   define TRACE5(t, level, format, arg1, arg2, arg3, arg4, arg5) \
  87.     if (trace/**/t >= level) trace(level, format, arg1, arg2, arg3, arg4, arg5)
  88. #endif
  89. #endif
  90. #endif
  91.